package com.brillilab.domain.vo.method;

import com.brillilab.domain.enums.method.ConvertMainSignType;
import lombok.Data;

import java.util.*;

/**
 * @author wuzhiyu
 * @Title: ConverConstantData
 * @ProjectName processdata
 * @Description: TODO
 * @date 2019/4/169:40
 */
@Data
public final class ConverConstantData {
    public static Map<ConvertMainSignType, List<String>> signListMap = new HashMap<>();

    static {
        final String[] chinaArr = new String[]{"一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二", "十三", "十四", "十五", "十六", "十七", "十八", "十九", "二十", "二十一", "二十二", "二十三", "二十四", "二十五", "二十六"};
        final String[] aplaLowArr = new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
        final String[] aplaUpArr = new String[]{"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
        final String[] intArr = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26"};
        final String[] rome = new String[]{"I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X", "XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX", "XXI", "XXII", "XXIII", "XXIV", "XXV", "XXVI"};
        final String[] romeLow = new String[]{"i", "ii", "iii", "iv", "v", "vi", "vii", "viii", "ix", "x", "xi", "xii", "xiii", "xiv", "xv", "xvi", "xvii", "xviii", "xix", "xx", "xxi", "xxii", "xxiii", "xxiv", "xxv", "xxvi"};
        for (ConvertMainSignType i : ConvertMainSignType.values()) {
            switch (i) {
                case INT:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(intArr)));
                    break;
                case ROME:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(rome)));
                    break;
                case CHINA:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(chinaArr)));
                    break;
                case ALPA_UP:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(aplaUpArr)));
                    break;
                case ALPA_LOW:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(aplaLowArr)));
                    break;
                case ROME_LOW:
                    signListMap.put(i, new ArrayList<String>(Arrays.asList(romeLow)));
                    break;
            }
        }
    }
}
